/*
 * Record2.h
 *
 *  Created on: Oct 5, 2012
 *      Author: romina
 */

#ifndef RECORDTERMINO_H_
#define RECORDTERMINO_H_

#include <iostream>
#include <string>
#include <exception>
#include "../../ArbolB+/Funciones/FrontCoding.h"
#include "../../Persistencia/Persistor.h"
#include "../../Persistencia/Serializable.h"
#include "../../Comunes/Palabra.h"

using namespace std;
using namespace palabra;

class RecordTermino: public Serializable {
	unsigned int id;
	unsigned int id_lista;
	string termino;
	string id_termino;
	bool transformada;
	int zero;
public:
	RecordTermino();
	RecordTermino(unsigned int id, string termino);
	RecordTermino(string id_termino);
	string getId_Termino();
	string getTermino();
	bool getTransformada () const;
	unsigned int getId() const;
	int getTamanio() const;
	int getZero () const;
	void setTransformada (bool valor);
	void setIdLista(unsigned int idLista);
	int compare(RecordTermino r);

	void transformarAFrontCoding(string primera, string ruta);
	void sacarElFrontCoding(string palabra, string ruta);

	void serializar(char * buffer, unsigned int &offset);
	void deserializar(char * buffer, unsigned int &offset);

	string toString();
	void show();

	virtual ~RecordTermino();
};

#endif /* RECORDTERMINO_H_ */
